#ifndef QTROBORACE_H
#define QTROBORACE_H

#include <QtGui/QMainWindow>
#include "ui_qtroborace.h"

#include "QtWorld.h"
#include "Robot.h"
#include "Pusher.h"
#include "Laser.h"
#include "Spinner.h"

#include "QtTreadmillSprite.h"
#include "QtCheckpointSprite.h"
#include "QtRepairpointSprite.h"
#include "QtPitfallSprite.h"
#include "QtTileManager.h"

class QtRoborace : public QMainWindow
{
	Q_OBJECT

public:
	QtRoborace(QWidget *parent = 0, Qt::WFlags flags = 0);
	~QtRoborace();

	// Test code
	void keyPressEvent(QKeyEvent *e);
protected:

private slots:
	void NextRound();
	void OnPlayFinished();

private:
	Ui::QtRoborace ui;

	// Test code
	Robot* robot1;
	Robot* robot2;
	Robot* robot3;
	Pusher* pusher1;
	Laser* laser1;
	Spinner* spinner1;
	Spinner* spinner2;
	QtWorld* world;

	QtTreadmillSprite* treadmillSprite;
	QtCheckpointSprite* checkpointSprite;
	QtRepairpointSprite* repairpointSprite;
	QtPitfallSprite* pitfallSprite;
	QtTileManager tempTilemanager;


	Robot* robot;
	bool canReadKeys;
};

#endif // QTROBORACE_H
